package com.guilin.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.guilin.common.annotation.Excel;
import com.guilin.common.core.domain.BaseEntity;

/**
 * 毕业去向对象 career_destination
 *
 * @author xiaoqi
 * @date 2025-06-23
 */
public class CareerDestination extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id;

    /** 校友ID */
    @Excel(name = "校友ID")
    private Long alumniId;

    /** 去向大类 */
    @Excel(name = "去向大类")
    private Long destinationType;

    /** 去向子类型 */
    @Excel(name = "去向子类型")
    private Long subType;

    /** 单位/学校/机构名称 */
    @Excel(name = "单位/学校/机构名称")
    private String organization;

    /** 地点(省/市) */
    @Excel(name = "地点(省/市)")
    private String location;

    /** 职位名称 */
    @Excel(name = "职位名称")
    private String positionTitle;

    /** 专业名称(升学) */
    @Excel(name = "专业名称(升学)")
    private String majorName;

    /** 学位 */
    @Excel(name = "学位")
    private String degree;

    /** 部门 */
    @Excel(name = "部门")
    private String department;

    /** 入职/入学时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入职/入学时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryTime;

    /** 详细描述(用于其他类型) */
    @Excel(name = "详细描述(用于其他类型)")
    private String description;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setAlumniId(Long alumniId)
    {
        this.alumniId = alumniId;
    }

    public Long getAlumniId()
    {
        return alumniId;
    }

    public void setDestinationType(Long destinationType)
    {
        this.destinationType = destinationType;
    }

    public Long getDestinationType()
    {
        return destinationType;
    }

    public void setSubType(Long subType)
    {
        this.subType = subType;
    }

    public Long getSubType()
    {
        return subType;
    }

    public void setOrganization(String organization)
    {
        this.organization = organization;
    }

    public String getOrganization()
    {
        return organization;
    }

    public void setLocation(String location)
    {
        this.location = location;
    }

    public String getLocation()
    {
        return location;
    }

    public void setPositionTitle(String positionTitle)
    {
        this.positionTitle = positionTitle;
    }

    public String getPositionTitle()
    {
        return positionTitle;
    }

    public void setMajorName(String majorName)
    {
        this.majorName = majorName;
    }

    public String getMajorName()
    {
        return majorName;
    }

    public void setDegree(String degree)
    {
        this.degree = degree;
    }

    public String getDegree()
    {
        return degree;
    }

    public void setDepartment(String department)
    {
        this.department = department;
    }

    public String getDepartment()
    {
        return department;
    }

    public void setEntryTime(Date entryTime)
    {
        this.entryTime = entryTime;
    }

    public Date getEntryTime()
    {
        return entryTime;
    }

    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("alumniId", getAlumniId())
                .append("destinationType", getDestinationType())
                .append("subType", getSubType())
                .append("organization", getOrganization())
                .append("location", getLocation())
                .append("positionTitle", getPositionTitle())
                .append("majorName", getMajorName())
                .append("degree", getDegree())
                .append("department", getDepartment())
                .append("entryTime", getEntryTime())
                .append("description", getDescription())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
